﻿//公共模块
var CMN= new Object();
CMN.pageSize = 15;
/**
* 表单全键盘导航功能
* index:可选参数，用于设定页面加载完成后默认获取焦点的表单项，支持索引号和id/dom类型参数传入。
*/
var keyNav = function(xFocus) {
    var run = function() {

        var all = Ext.DomQuery.select('input[type!=hidden],button'); //查找所有非隐藏的录入向（ext中select都是用input模拟的所以这里不用找select）
        Ext.each(all, function(o, i, all) { //遍历并添加enter的监听
            Ext.get(o).addKeyMap({
                key: 13,
                fn: function() {
                try {  all[i + 1].focus() } catch (e) { event.keyCode = 9 }
                if (all[i + 1] && /button|reset|submit/.test(all[i + 1].type)) { all[i + 1].click();  }  //如果是按钮则触发click事件
                    return true;
                }
            })
        });
        document.body.focus();  //使页面获取焦点，否则下面设定默认焦点的功能有时不灵验
        try {
            var el;
            if (typeof eval(xFocus) == 'object') {  //如果传入的是id或dom节点
                console.log("xFocus" + xFocus);
                el = Ext.getDom(xFocus).tagName == 'input' ? Ext.getDom(xFocus) : Ext.get(xFocus).first('input[type!=hidden]', true);  //找到input框
            } else {
                el = all[xFocus || 1]; console.log("not-xFocus" + xFocus); //通过索引号找
            }
            el.focus();
        } catch (e) { }

    }
    Ext.isReady ? run() : Ext.onReady(run);  //页面加载完成后添加表单导航
}


//var isIe = (document.all) ? true : false;
//function init() {
//    document.onkeydown = function(evt) {
//        catchKeyDown(evt);
//    }
//}
//function catchKeyDown(evt) {
//    evt = (evt) ? evt : ((window.event) ? window.event : "");
//    var key = isIe ? evt.keyCode : evt.which;

//    if (evt.keyCode == 13) {
//        var el = evt.srcElement || evt.target;
//        if (el.tagName.toLowerCase() == "input" && el.type != "submit") {
//            if (isIe) {
//                evt.keyCode = 9;
//            } else {
//                nextCtl(el).focus();
//                evt.preventDefault();
//            }
//        }
//    }
//}
//function nextCtl(ctl) {
//    var form = ctl.form;
//    for (var i = 0; i < form.elements.length - 1; i++) {
//        if (ctl == form.elements[i]) {
//            return form.elements[i + 1];
//        }
//    }
//    return ctl;
//}
//function $(id) {
//    return document.getElementById(id);
//}
//if (window.addEventListener) {
//    window.addEventListener("load", init, false);
//    window.addEventListener("load", setPointer, false);
//} else {
//    window.attachEvent("onload", init);
//    window.attachEvent("onload", setPointer);
//}